import matplotlib.pyplot as plt
from sklearn.metrics import roc_curve, auc

# 示例数据：真实标签和模型预测概率
y_true = [1, 0, 1, 0, 1]  # 真实标签（二分类）
y_scores = [0.9, 0.6, 0.3, 0.1, 0.8]  # 模型预测的正类概率

# 计算FPR, TPR和阈值
fpr, tpr, thresholds = roc_curve(y_true, y_scores)
roc_auc = auc(fpr, tpr)

plt.rcParams["font.sans-serif"] = ["SimHei"]
# 绘制ROC曲线
plt.figure()
plt.plot(fpr, tpr, color="darkorange", label=f"ROC曲线 (AUC = {roc_auc:.2f})")
plt.plot([0, 1], [0, 1], "k--")  # 随机猜测线
plt.xlabel("False Positive Rate (FPR)")
plt.ylabel("True Positive Rate (TPR)")
plt.title("ROC曲线")
plt.legend()
plt.show()
